&lt;cfparam name="request.extension_index" default="" /&gt;
&lt;cfparam name="request.extension" default="" /&gt;
&lt;cfparam name="request.id" default="" /&gt;
&lt;cfset request.controller = listGetAt(cgi.query_string,1,'/') /&gt;
&lt;cftry&gt;
	&lt;cfset request.action = listGetAt(cgi.query_string,2,'/') /&gt;
	&lt;!--- check if "action" has an "extension" ---&gt;
	
	&lt;cfset extension_index = refindnocase('\.',request.action,1) /&gt;
	&lt;cfif extension_index neq 0&gt;
		&lt;cfset request.extension = mid(request.action,extension_index+1,len(request.action)) /&gt;
		&lt;cfset request.action = left(request.action,extension_index-1) /&gt;
	&lt;/cfif&gt;
&lt;cfcatch type="any"&gt;
	&lt;cfset request.action = "index" /&gt;
&lt;/cfcatch&gt;
&lt;/cftry&gt;


&lt;cfif listLen(cgi.query_string,'/') GT 2&gt;
	&lt;cfset request.id = listGetAt(cgi.query_string,3,'/')/&gt;	
	&lt;!--- check to see if more params are being passed in ---&gt;
	&lt;cfif listLen(cgi.query_string,'/') GT 3&gt;
		&lt;cfset request.id = ""/&gt;	
		&lt;cfloop from="3" to="#listLen(cgi.query_string,'/')#" index="i"&gt;
			&lt;cfset request.id = listAppend(request.id,listGetAt(cgi.query_string,i,'/'),'/')/&gt;	
		&lt;/cfloop&gt;
	&lt;/cfif&gt;
	&lt;!--- check if "id" has an "extension" ---&gt;
	&lt;cfset extension_index = refindnocase('\.',request.id,1) /&gt;
	&lt;cfif extension_index neq 0&gt;
		&lt;cfset request.extension = mid(request.id,extension_index+1,len(request.id)) /&gt;		
		&lt;cfset request.id = left(request.id,extension_index-1) /&gt;
	&lt;/cfif&gt;
&lt;/cfif&gt;


&lt;cfinclude template="app/view/#request.controller#/#request.action#.cfm" /&gt;


&lt;cfif structKeyExists(request,"flash")&gt;
	&lt;cfif structKeyExists(request.flash,"notice")&gt;
		&lt;cfoutput&gt;#Request.flash['notice']#&lt;/cfoutput&gt;
	&lt;/cfif&gt;
	&lt;cfif structKeyExists(request.flash,"error")&gt;
		&lt;cfoutput&gt;#Request.flash['error']#&lt;/cfoutput&gt;
	&lt;/cfif&gt;
	&lt;cfif structKeyExists(request.flash,"extended_info")&gt;
		&lt;cfoutput&gt;#Request.flash['extended_info']#&lt;/cfoutput&gt;
	&lt;/cfif&gt;
&lt;/cfif&gt;



&lt;!--- 
&lt;cfdump var="#request.extension#" label="extension"&gt;
&lt;cfdump var="#request.controller#" label="controller" /&gt;
&lt;cfdump var="#request.action#" label="action" /&gt;
&lt;cfdump var="#request.id#" label="id" /&gt;
 ---&gt;
